package cn.com.xy.sms.sdk.util;



/*
 * DataEnCipher, jni加解密类, 请不要改变此处的类名和包名. 
 * SDK-493 hewngao 20160618 start
 */
public class DataEnCipher {
	
    public native boolean getKeyData(int type);

    public native boolean getChannelData(int type);

	/*
	 * xyBase64Decode2 Base64数据编码
	 * 
	 * @param rawData Base64编码后的数据
	 * 
	 * @return Base64解码后的数据
	 */
	public native byte[] xyBase64Decode2(String rawData);
	/*
	 * xyDecrypt 解密输入的密文数据
	 * 
	 * @param rawData 密文数据
	 * 
	 * @param len 密文数据长度
	 * 
	 * @param kebuf 加密用的秘钥
	 * 
	 * @param key_len 加密用的秘钥长度(kebuf.length)
	 * 
	 * @return 明文的二进制数组
	 */
	public native byte[] xyDecrypt(byte[] rawData, int len, byte[] kebuf, int key_len);
 
	
    /*
     * xyEncrypt 加密输入的明文数据
     * @param rawData 明文的UTF8格式的字节数据.
     * @param len 明文的字节数据长度
     * @param keybuf 加密用的秘钥
     * @param key_len 加密用的秘钥长度(kebuf.length)
     * @return 密文的二进制数组
     */
	public native byte[] xyEncrypt(byte[] rawData, int len, byte[] keybuf, int key_len);
	/*
	 * xyBase64Encode2 Base64数据编码
	 * 
	 * @param rawData 原始数据
	 * 
	 * @param len 原始数据长度
	 * 
	 * @return Base64编码后的数据
	 */
	public native String xyBase64Encode2(byte[] rawData, int len);  
}

